Magnetometerless detection of incorrect attachment and calibration of motion tracking system

ABSTRACT

A method for adjusting operation of a motion tracking system comprising a computing apparatus and a plurality of sensors, each sensor comprising a gyroscope and an accelerometer, the method comprising: aligning the plurality of sensors; providing, each sensor of the plurality of sensors to the computing apparatus, a first orientation when the sensors are aligned, the first orientation comprising a first heading; placing the plurality of sensors on a person; providing, each sensor of the plurality of sensors to the computing apparatus, a second orientation when the sensors are placed on the person, the second orientation comprising a second heading; digitally determining, the computing apparatus, whether the plurality of sensors is placed on the person according to a predetermined sensor arrangement based on both the first and second headings of each sensor of the plurality of sensors; and adjusting, the computing apparatus, the operation of the motion tracking system based on the determination. Also, a system for tracking motion of a person.

TECHNICAL FIELD

The present invention relates to the field of motion tracking systems.More specifically, the present invention relates to attachable orwearable motion tracking systems that do not require measurements ofmagnetometers for calibration thereof and/or detecting that sensorsthereof have not been accurately placed on a person to be tracked.

STATE OF THE ART

Motion tracking technologies can be mainly divided into two groups: afirst group of systems that have a number of devices that must beattached to the person to be tracked, particularly sensors to beattached to the person, and a second group of systems that track themotion of the person with no device being attached to the person, thusthey mainly rely on sensors such as cameras.

Concerning the motion tracking systems of the first group, the sensorsare to be attached or worn by a person that usually moves many differentways. The accurateness of the motion tracked depends upon the errors inthe measurements of the different sensors, therefore making the sensorsto measure the magnitudes as accurately as possible or knowing how toreduce the errors in the measurements is very important.

Another issue that affects the accurateness of the motion tracked insome cases is the variation between the expected positions where thesensors are to be attached to the person and the actual positions wherethe sensors are attached to the person; not only the position affectsthe motion tracked, but also the orientations of the sensors.

Some attachable or wearable motion tracking systems include sensorshaving magnetometers. By means, inter alia, of the magnetic fieldsmeasured by the magnetometers the motion of the person may be tracked.However, both the existence of magnetic disturbances and the increase indifferences in the measurements of the magnetometers over time result inerroneous motion tracking in many occasions.

Accordingly, there is an interest in providing a method for detectingwhether sensors of a motion tracking system are accurately placed on aperson and calibrating said motion tracking system so that a moreaccurate motion tracking may be achieved, whereby said detection andcalibration do not require measurements of magnetometers.

DESCRIPTION OF THE INVENTION

A first aspect of the invention refers to a method for adjustingoperation of a motion tracking system comprising a computing apparatusand a plurality of sensors, each sensor comprising a gyroscope and anaccelerometer, the method comprising: aligning the plurality of sensors;providing, each sensor of the plurality of sensors to the computingapparatus, a first orientation when the sensors are aligned, the firstorientation comprising a first heading; placing the plurality of sensorson a person; providing, each sensor of the plurality of sensors to thecomputing apparatus, a second orientation when the sensors are placed onthe person, the second orientation comprising a second heading;digitally determining, the computing apparatus, whether the plurality ofsensors is placed on the person according to a predetermined sensorarrangement based on both the first and second headings of each sensorof the plurality of sensors; and adjusting, the computing apparatus, theoperation of the motion tracking system based on the determination.

The computing apparatus is capable of determining whether the sensors ofthe motion tracking system have been correctly placed on the person,with respect to the predetermined sensor arrangement, so that the motionof the person can be accurately tracked.

The computing apparatus relies on the measurements provided by thesensor fusion algorithm of each sensor, whereby the measurements of thegyroscope and the accelerometer are combined so as to provide ameasurement taking into account the precision of each sensing device.The sensor fusion algorithm usually also takes into account theprecision of the sensing devices as the time passes, hence saidalgorithm may partially or completely disregard measurements ofparticular sensing devices after some time has elapsed since their lastcalibration, as the error cumulates over time faster for some types ofsensing devices than for others. The particular ways in which the sensorfusion algorithm may process the measurements and combine them aredisclosed in the prior art as the skilled person is well aware.

The sensors are aligned one with respect to each other so that the firstorientations provided by the sensors correspond to measurements madewhen all the sensors are arranged having fixed relative orientations. Asthe sensors are aligned, the first headings provided by the sensors areindicative of any deviation in the measurements of the sensors. In thecontext of the present disclosure, aligning the sensors refers toarranging the sensors according to a known set of orientations of thesensors (for example a predetermined set of orientations) so that it maybe determined what is the deviation between the actual heading of thesensor and the heading measured by the sensor. Preferably, but notnecessarily, the sensors are aligned such that they are all facing thesame direction, however in some examples one or more sensors may bealigned with respect to other one or more sensors even if they are notfacing the same direction; this is so as long as it can be determinedwhat is the direction each sensor is facing and, thus, the deviationbetween the actual heading and the measured heading can be determinedfor each sensor.

The sensors are placed on the person so that motion thereof may betracked. The sensors are to be placed on the person in accordance withthe predetermined sensor arrangement, which depends upon the particulartype of motion to be tracked, hence different types of motion to betracked may result in different predetermined sensor arrangements as thelimbs to be tracked are different or, alternatively, the same limbs areto be tracked but with different orientations of the sensors; it mayalso occur that different types of motion are to be tracked with thesame predetermined arrangement of sensors. The predetermined sensorarrangement(s) is stored in the computing apparatus, particularly in atleast one memory thereof, which provides the computing apparatus withdata relative to how the sensors are to be placed on the person.

The procedure by which the person knows how the sensors have to be putthereon may be carried out in a number of ways. For example, thecomputing apparatus may output information or instructions (e.g. on ascreen, acoustically, etc.) for the user (the same person to be trackedor a different person) to indicate how each particular sensor is to beplaced in accordance with the predetermined sensor arrangement. Asanother example, the sensors are placed on the person in accordance withthe predetermined sensor arrangement and the user inputs in thecomputing apparatus, by means of user input means (e.g. tactile screen,keyboard, mouse, etc.), the correspondence between each sensor on theperson and the sensors of the predetermined sensor arrangementregistered in the computing apparatus. As a further example, the sensorsmay be provided with an attachment interface for attaching each to astrap; the straps are used for attaching the sensors on the person. Theattachment interface is connected to a unique identifiable elementpresent in the strap, which is an electronic component such as aresistor with a specific resistance value in each strap. The attachmentinterface is coupled or connected to the processor thereof (e.g. amicrocontroller), the latter continuously measuring the resistance valueat the terminals of the attachment interface. According to the measuredresistance value, the sensor determines to which strap it is attached,and whether it is attached to a strap at all (when the resistance valueis an open circuit).

Since the placement of the sensors on the person is prone to errors inthe orientations of the sensors, the motion tracking system determinesthe possible existence of these errors. Particularly, once the sensorsare placed on the person, they provide the second orientations that areprocessed by the computing apparatus. In order to detect and determinewhether the sensors are not placed according to the predetermined sensorarrangement, each possible pair of the second headings is processed andcompared with predetermined heading differences that the computingapparatus expects to receive from the sensors; said predeterminedheading differences depend on the predetermined sensor arrangement.Owing to the relative differences in the measurements of the sensors,particularly the measurements provided by the sensor fusion algorithms,the first headings are taken into account when the second headings areprocessed in pairs and compared with the predetermined headingdifferences so that the relative differences between measurements may becompensated for.

The comparisons are made by computing differences between the pairs ofsecond headings and the expected heading differences. In this sense, thedefinition of the placement of the sensors in the predetermined sensorarrangement is defined by or allows the derivation of the relativedifferences between headings of sensors when correctly placed on thebody. The computed differences are preferably compared with either apredetermined difference threshold (e.g. 2.5°, 5.0°, 9.0°, 15.0°, etc.)or a pair of predetermined difference thresholds (e.g. −5.0° and 10.0°,10.0° and −15.0°, etc.), which may be adjusted in the computingapparatus, for instance. The computing apparatus determines that theplurality of sensors is placed on the person according to thepredetermined sensor arrangement if the computed differences do notexceed the predetermined difference threshold or the pair ofpredetermined difference thresholds. For instance, if the predetermineddifference threshold is 5.0°, if all the differences between the headingdifferences of the second headings and the expected heading differencesare equal to or less than 5.0°, the computing apparatus determines thatthe plurality of sensors is correctly placed on the person (i.e. thesensors are arranged according to the predetermined sensor arrangement);if, for instance, the pair of predetermined difference thresholds is−10.0° and 15.0°, this effectively establishes a heading differencerange of 25.0° in which a more demanding requirement is defined towardsnegative heading differences than for positive heading differences (e.g.if the expected heading difference is 90.0°, the computed headingdifference shall be within the 80.0° and 105.0° range). Even if thecomputing apparatus considers that the sensors are placed according tothe predetermined sensor arrangement, it may also adjust the operationof the motion tracking system and, thus, it does not only adjust theoperation when the sensors are not placed according to the predeterminedsensor arrangement.

A time elapsed between the moment that the sensors provide the firstorientations and the moment that the sensors provide the secondorientations is preferably as reduced as possible, preferably less than5 minutes, and more preferably less than 3 minutes and/or 1 minute,therefore preferably the sensors are withdrawn from the first device andplaced on the body in this time interval. By reducing the time it takesto carry out this process, the lower the error that will affect themeasurements of the sensors (which tends to increase over time, forexample the drift of the gyroscope will introduce some error in themeasurements) and, consequently, the more accurate will be thedetermination and adjustment of the operation of the motion trackingsystem.

The computing apparatus adjusts the operation of the motion trackingsystem in accordance with the determination.

In some embodiments, the step of digitally determining whether theplurality of sensors is placed on the person according to thepredetermined sensor arrangement comprises: digitally computing, thecomputing apparatus, a first transformation for each sensor of theplurality of sensors that aligns the first heading thereof with a firstpredetermined heading; and digitally processing, the computingapparatus, a third heading of each sensor of the plurality of sensors inorder to compute heading differences from all pairs of third headingsand determine whether the plurality of sensors is placed on the personaccording to the predetermined sensor arrangement, each third headingbeing the second heading of the corresponding sensor with thecorresponding first transformation applied thereto.

The computing apparatus digitally computes the first transformation foreach of the sensors such that the first transformations, when they areapplied to the corresponding orientations provided by the sensors,adjust the heading of each orientation in accordance with the deviationdetermined owing to the first headings. In this sense, the firsttransformations make the headings of all the first orientations to bealigned with the first predetermined heading (e.g. any heading valuelike, for instance, the north, or the first heading of one of thesensors).

As further orientations are provided by the sensors, the correspondingheadings are indicative of the change in heading of the differentsensors once the first transformation is applied thereto. This is sobecause the first transformation virtually calibrates the sensors whenthey have a known orientation relative to the other sensors (becausethey are aligned). By way of example, if after computing the firsttransformations one of the sensors is rotated such that the headingthereof changes, the orientations provided after the rotation areprocessed by the computing apparatus, in particular the heading thereofis obtained and the first transformation is applied thereto; in thisexample, all but one sensor will have a heading aligned with the firstpredetermined heading, whereas the remaining sensors will have a headingwith an angular difference with respect to the first predeterminedheading that is indicative of the amount of rotation that the sensor hasbeen subjected to.

If one or more sensors have the first heading thereof already alignedwith the first predetermined heading, the first transformations forthese one or more sensors are not computed (and not applied to furtherorientations) or are computed but they do not modify the orientation(i.e. the transformation keeps the orientation and the heading as theyare). A first deviation threshold or range may be established in thecomputing apparatus whereby a first heading not aligned with the firstpredetermined heading but which does not exceed the first deviationthreshold or is inside the deviation range is considered to be aligned;such first deviation threshold or range has a difference in angle withrespect to the first predetermined heading that is preferably less thanone degree, for example tenths or hundredths of a degree, e.g. 0.05°,0.2°, 0.5°, etc.

The computing apparatus applies the first transformations to the secondorientations so that the orientation of each sensor has the secondheading thereof adjusted with the particular first transformation foreach sensor, thereby providing the third headings. The computingapparatus processes the third headings in pairs so as to determine ifthe plurality of sensors is put on the person according to thepredetermined sensor arrangement by comparing the differences resultingfrom each possible pair of third headings with the heading differencesexpected if the sensors were put on the person in accordance with thepredetermined sensor arrangement. As the first transformations align theheadings of the sensors prior to placing them on the person, thecomputing apparatus determines that any heading difference between thethird headings of a pair of sensors and the heading difference expected(based on the predetermined sensor arrangement) is mainly due to anincorrect placement of one or both sensors on the person as the drifterror of the gyroscope is negligible.

By way of example, if the heading difference between a pair of thirdheadings is 92.3° and the expected heading difference is 90.0°, thecomparison of these values will be 90.0° minus 92.3° (equal to −2.3°),thus the determination of whether the sensors are placed on the personaccording to the predetermined sensor arrangement will be based on saidcomparison value.

Further, as aforementioned, preferably the results of these comparisonsare further compared with respect to a predetermined differencethreshold (e.g. 2.5°, 5.0°, 9.0°, 15.0°, etc.) or a pair ofpredetermined difference thresholds (e.g. −5.0° and 10.0°, 10.0° and−15.0°, etc.) in order to determine whether the sensors are placedaccording to the predetermined sensor arrangement. With respect to theformer, the predetermined difference threshold sets the range around theexpected heading difference, e.g. if the expected heading difference is90.0° and the predetermined difference threshold is 5.0°, the computedheading difference should be within 90.0° plus-minus (‘±’) 5.0° (i.e.between 85.0° and 95.0°, thus the comparison value should be between−5.0° and 5.0°). With respect to the latter, each threshold of the pairof predetermined difference thresholds sets the lower limit or the upperlimit of the range around the expected heading difference, e.g. if theexpected heading difference is 90.0° and the pair of predetermineddifference thresholds is −10.0° and 20.0°, the computed headingdifference should be within 90.0° minus 10.0°, and 90.0° plus 20.0°(i.e. between 80.0° and 110.0°, thus the comparison value should bebetween −10.0° and 20.0°).

In some of these embodiments, the step of adjusting the operation of themotion tracking system comprises: digitally computing, the computingapparatus, a second transformation for each sensor of the plurality ofsensors that aligns the third heading thereof with a secondpredetermined heading for the corresponding sensor according to thepredetermined sensor arrangement, and digitally applying, the computingapparatus, the second transformations or both the first and secondtransformations computed to each orientation provided by each sensor ofthe plurality of sensors to the computing apparatus while motion of theperson is tracked with the motion tracking system, or to an algorithm ofthe computing apparatus for processing the motion of the person trackedwith the motion tracking system; and/or providing at least one userperceptible signal indicative of the computing apparatus havingdetermined that at least one sensor of the plurality of sensors is notplaced on the person according to the predetermined sensor arrangement.

The computing apparatus adjusts the motion tracking of the system byfurther calibrating the sensors. To this end, the computing apparatuscomputes the second transformations that adjust the third heading of thesecond orientations. In particular, the second transformations aligneach third heading with the second predetermined heading that isspecific for each sensor and which depends upon the predetermined sensorarrangement. The second predetermined headings are established basedupon heading differences; for instance, with reference to the aboveexample, the second transformations for the corresponding two sensorsare those that make the heading difference of the third headings to beequal to the expected heading difference. As the process is repeated foreach possible pair of third headings, the second transformations of thesensors may be progressively adjusted so that, at the end, all pairs ofthird headings (once adjusted with the respective secondtransformations) have the heading difference thereof equal to therespective expected heading differences.

The computing apparatus adjusts the motion tracking by applying thesecond transformations, or alternatively both the first and secondtransformations, to either the orientations provided by the sensorsduring the motion tracking procedure or the algorithm of the computingapparatus that processes the motion tracked. In some cases, the firsttransformation needs not be applied to the orientations becausesometimes the measurement differences of the sensors can be compensatedfor by the algorithm that processes the motion tracking. In some cases,the second transformations or both the first and second transformationsare applied to said algorithm so that the motion tracking or the postureof the person tracked may be adjusted, or the person tracked is properlymatched to a digital model for representing the motion, etc.

Additionally or alternatively, the user is notified that one or moresensors have not been correctly placed so that the user may adjust theplacement of the sensors. Since the computing apparatus may determinewhich sensor(s) is/are incorrectly placed, or pair of sensors from whichone of the sensors is incorrectly placed, in some examples the computingapparatus provides this information so that the user is aware of whichsensor or subset of sensors, which are or possibly are incorrectlyplaced, need to be adjusted. The motion tracking system may be providedwith at least one means for providing the at least one user perceptiblesignal that the computing apparatus operates. Said means may be, forinstance but without limitation, a screen, loudspeakers, LEDs, etc.

In some embodiments, the step of digitally determining whether theplurality of sensors is placed on the person according to thepredetermined sensor arrangement comprises digitally processing, thecomputing apparatus, the second heading of each sensor of the pluralityof sensors in order to compute heading differences from all pairs ofsecond headings and determine whether the plurality of sensors is placedon the person according to the predetermined sensor arrangement. Inthese embodiments, the first heading of each sensor is processed suchthat it adjusts the corresponding heading differences computed orheading differences according to the predetermined sensor arrangement.

Instead of digitally computing the first transformations that virtuallycalibrate the sensors owing to the known orientation relative to theother sensors, the first headings adjust the values of the headingdifferences, i.e. the differences between each pair of second headings,or alternatively they adjust the values of the expected (according tothe predetermined sensor arrangement) heading differences of the pairsof headings. In both cases, the comparison of the heading differences ofthe second headings with the expected heading differences implicitlycompensates for the relative differences between measurements of thesensors as determined from the first headings.

For example, concerning the first case, if the heading differencebetween a pair of second headings is 90.5° and the first headings of thecorresponding sensors are 3.2° and 1.4°, the difference of these firstheadings is 1.8°. This value may be for example subtracted from or addedto (depending on the reference used, i.e. which direction/sense isconsidered as positive or negative) the heading difference, thusproviding a heading difference of 90.5° minus 1.8° (equal to 88.7°) or90.5° plus 1.8° (equal to 92.3°). If the expected heading difference is90.0°, the comparison of this value with the adjusted heading differencewill be 90.0° minus 88.7° (equal to 1.3°) or 90.0° minus 92.3° (equal to−2.3°), depending on the reference used as aforementioned, thus thedetermination of whether the sensors are placed on the person accordingto the predetermined sensor arrangement will be based on said comparisonvalue.

For example, concerning the latter case, using the same values of theabove example, the expected heading difference has its value adjusted inaccordance with the difference between the first headings, thus being90.0° minus 1.8° (equal to 88.2°) or 90.0° plus 1.8° (equal to 91.8°),again depending on the reference used. The heading differences of thesecond headings are then compared with one of these values, i.e. 88.2°minus 90.5° (equal to −2.3°) and 91.8° minus 90.5° (equal to 1.3°). Thesame results are obtained in both cases.

Even though the above examples are described with sums and subtractions,it is readily apparent that the present disclosure is not limited tothese mathematical operations and, therefore, different mathematicaloperations that result in analogous adjustments and comparisons are alsopossible within the scope of the present disclosure.

Further, as aforementioned, preferably the results of these comparisonsare further compared with respect to a predetermined differencethreshold (e.g. 2.5°, 5.0°, 9.0°, 15.0°, etc.) or a pair ofpredetermined difference thresholds (e.g. −5.0° and 10.0°, 10.0° and−15.0°, etc.) in order to determine whether the sensors are placedaccording to the predetermined sensor arrangement.

In some of these embodiments, the step of adjusting the operation of themotion tracking system comprises: digitally computing, the computingapparatus, a first transformation for each sensor of the plurality ofsensors that aligns the second heading thereof with a firstpredetermined heading for the corresponding sensor according to both thepredetermined sensor arrangement and the first heading, and digitallyapplying, the computing apparatus, the first transformations computed toeach orientation provided by each sensor of the plurality of sensors tothe computing apparatus while motion of the person is tracked with themotion tracking system, or to an algorithm of the computing apparatusfor processing the motion of the person tracked with the motion trackingsystem; and/or providing at least one user perceptible signal indicativeof the computing apparatus having determined that at least one sensor ofthe plurality of sensors is not placed on the person according to thepredetermined sensor arrangement.

The computing apparatus adjusts the motion tracking of the system byfurther calibrating the sensors. To this end, the computing apparatuscomputes the first transformations that adjust the second heading of thesecond orientations. In particular, the first transformations align eachsecond heading with the first predetermined heading that is specific foreach sensor and which depends upon the predetermined sensor arrangement.The first predetermined headings are established based upon headingdifferences; the first transformations for two sensors are those thatmake the heading difference of the second headings to be equal to theexpected heading difference. As the process is repeated for eachpossible pair of second headings, the first transformations of thesensors may be progressively adjusted so that, at the end, all pairs ofsecond headings (once adjusted with the respective firsttransformations) have the heading difference thereof equal to therespective expected heading differences. The first transformations arecomputed taken into account the first headings so that a singletransformation per sensor calibrates the measurements thereof. Thecomputing apparatus adjusts the motion tracking by applying the firsttransformations to either the orientations provided by the sensorsduring the motion tracking procedure or the algorithm of the computingapparatus that processes the motion tracked.

Additionally or alternatively, the user is notified that one or moresensors have not been correctly placed so that the user may adjust theplacement of the sensors.

In some embodiments, the second orientations are provided by theplurality of sensors while the person has a predetermined posture.

The sensors provide the orientations that the computing apparatus usesfor determining whether the placement of the sensors does not match thepredetermined sensor arrangement while the person has the predeterminedposture, for instance standing with a straight posture, the arms beingalongside the body, the legs being side-by-side, combinations thereof,etc.

When the person has the predetermined posture, the determination made bythe computing apparatus is more accurate because no heading variationsare due to a posture that the person has at a particular moment.Accordingly, the operation of the motion tracking system is alsoadjusted more accurately when the person has the predetermined posture.

In some embodiments, each sensor of the plurality of sensors furthercomprises a magnetometer; and the method further comprises, prior to thestep of placing the plurality of sensors on the person: not processingmeasurements of the magnetometers in a sensor fusion algorithm of eachsensor of the plurality of sensors; or reducing a weight of themeasurements of the magnetometers in the sensor fusion algorithm of eachsensor of the plurality of sensors.

Sensors of motion tracking systems usually include magnetometers whosemeasurements are used for tracking the motion of the target. Themagnetic fields measured, however, are subject to magnetic disturbancesthat affect the measurements, thereby worsening the performance of themotion tracking system as the motion is not properly tracked.

The computing apparatus commands the sensors not to process themeasurements of the magnetometers in the sensor fusion algorithmsthereof. Alternatively, the computing apparatus command the sensors toreduce the weight of the measurements of the magnetometers so that theirinfluence on the measurements provided by the sensor fusion algorithm isreduced. Accordingly, the measurements of the sensor fusion algorithmsare mainly driven by the gyroscope and the accelerometer.

In some of these embodiments, the measurements of the magnetometers arenormally processed by the sensor fusion algorithm in order to providethe first orientations. That is to say, the first headings provided bythe sensors make use of measurements of the magnetometers, yet themeasurements of the magnetometers are not processed or the weightthereof is reduced when the sensors are to be placed on the person.

In some of these embodiments, the step of not processing themeasurements of the magnetometers or the step of reducing the weight ofthe measurements of the magnetometers takes place also prior to the stepof providing, each sensor of the plurality of sensors to the computingapparatus, the first orientation. That is to say, the first headingsprovided by the sensors neither make use of measurements of themagnetometers or have the weight thereof reduced for the provision ofboth the first and second orientations and, thus, both the first andsecond headings.

In some embodiments, the method further comprises digitally computing,the computing apparatus, heading differences from all pairs of firstheadings; and digitally processing, the computing apparatus, thecomputed heading differences of the first headings in order to determineif one or more sensors of the plurality of sensors are aligned such thatthey have a 180° heading rotation with respect to the other sensor ofthe plurality of sensors. In these embodiments, the computing apparatusboth digitally determines whether the plurality of sensors is placed onthe person according to the predetermined sensor arrangement and adjuststhe operation of the motion tracking system if each computed headingdifference of the first headings fulfills the following: a modulus ofthe heading difference is less than or equal to a predeterminedvalidation threshold; or a modulus of 180° minus the heading differenceis less than or equal to the predetermined validation threshold.

Depending on the cover and/or the aspect of the sensors, even if eachsensor is aligned with respect to each other such that, for example, allsensors are apparently facing the same direction, it may occur that oneor more sensors are flipped with respect to the other sensors, namelythey are rotated 180° with respect to the other sensors. This, in turn,results in a 180° rotation of the heading measured by the sensor(s). Thecomputing apparatus may however detect such 180° rotation of the headingmeasured by computing the two moduli. To this end, the computingapparatus computes the heading differences between each pair of firstheadings, i.e. it computes the relative difference between one firstheading and another first heading, and uses said heading differences todetermine whether one sensor is flipped with respect to another sensor.

If the first modulus is less than or equal to the predeterminedvalidation threshold, the two sensors are facing the same directionaccording to the measured headings, whereas if the second modulus isless than or equal to the predetermined validation threshold, the twosensors are facing opposite directions (i.e. 180° difference in thedirection) according to the measured headings. In particular, thecomputed heading differences are compared with 180° plus-minus (‘±’) apredetermined validation threshold. If a computed heading differencefalls within the range 180° minus the predetermined validation thresholdand 180° plus the predetermined validation threshold, it is consideredthat the one sensor is rotated 180° with respect to the other. By way ofexample, the predetermined validation threshold is an angle value orrepresents an angle value of 20°, 30°, 40°, 45°, etc. which may beconfigured in the computing apparatus, for instance.

If there is a heading difference that exceeds the predeterminedvalidation threshold, in particular by comparing it either with orwithout a 180° rotation resulting from a possible flipped alignment ofthe sensors, the computing apparatus determines that there aresignificant errors in the measurements provided by the sensors.Accordingly, the computing apparatus does not carry out the digitaldetermination and the adjustment of the operation of the motion trackingsystem until all heading differences fulfill one of the aforementionedcriteria.

In these cases, usually a complete calibration of the motion trackingsystem is necessary whereby the sensors are fully calibrated so that themeasurements thereof feature lower errors. These situations may also bedue to faulty sensors, thus a user may be aware of possible problems inthe motion tracking system as the computing apparatus does not proceedfurther with the motion tracking procedure.

In some embodiments, the computing apparatus adjusts the operation ofthe motion tracking system if at least one computed heading differenceof the first headings does not fulfill the following: a modulus of theheading difference is less than or equal to a predetermined validationthreshold; or a modulus of 180° minus the heading difference is lessthan or equal to the predetermined validation threshold; the operationof the motion tracking system being adjusted such that it provides atleast one user perceptible signal indicative of the computing apparatushaving determined that at least one computed heading difference of thefirst headings does not fulfill any one of the above criteria.

When at least one heading difference exceeds the predeterminedvalidation threshold, either when it is compared with the 180° headingrotation or without it, the computing apparatus commands the provisionof the at least one user perceptible signal so that the user is notifiedof the errors in the measurements of the sensors and, thus, the user maytake corrective action.

In some embodiments, the step of aligning the plurality of sensorscomprises: providing a first device comprising at least one cavityadapted for introduction of one or more sensors of the plurality ofsensors; and introducing each sensor of the plurality of sensors intothe first device.

The first device comprises the at least one cavity dimensioned such thatone or more sensors fit therein when the sensors are introduced with aparticular orientation so that all sensors may be arranged similarly.The at least one cavity may be a single cavity in which two or moresensors of the plurality of sensors may be introduced side-by-side suchthat the two or more sensors have fixed relative orientations (so thateach sensor does not change its orientation with respect to the othersensors); to this end, the single cavity may include one or more spacingelements that provide a gap between each pair of sensors. The at leastone cavity may also be a plurality of cavities, in each of which onesensor may be introduced.

The sensors are introduced into the first device for alignment thereofso that the first orientations provided by the sensors correspond tomeasurements made when all the sensors are arranged having fixedrelative orientations. Owing to the arrangement of the sensors in thefirst device, the first headings provided by the sensors are indicativeof any deviation in the measurements of the sensors.

In some cases, the at least one cavity allows the introduction of thesensors such that one or more sensors are flipped 180° with respect toother sensors. In these cases, when the computing apparatus digitallyprocesses the computed heading differences of the first headings, itdetermines whether one or more sensors of the plurality of sensors havebeen introduced in the first device with a 180° heading rotation withrespect to the other sensor of the plurality of sensors introduced inthe first device.

In some other embodiments, the step of aligning the plurality of sensorscomprises arranging or attaching the plurality of sensors on a surfacehaving indicated thereon a predetermined set of orientations of thesensors. These indications may be attachable elements, drawn elements orthe like that, for instance, show the contours or the appearance thatthe sensors shall have when they are arranged on the surface so thatthey are aligned, particularly aligned in accordance with thepredetermined set of orientations. When the plurality of sensors is tobe attached to said surface, the sensors may be provided with attachingmeans such as a mechanical clip, Velcro, etc. and, preferably, thesurface is also provided with attaching means that cooperate with theattaching means of the sensors.

In some other embodiments, the step of aligning the plurality of sensorscomprises attaching the plurality of sensors one to another such thatthey are aligned. To this end, the sensors may be provided withattaching means such as a mechanical clip, Velcro, etc.

A second aspect of the invention relates to a system for tracking motionof a person, the system comprising: a plurality of sensors, each sensorcomprising a gyroscope and an accelerometer; and a computing apparatuscomprising at least one processor, at least one memory and means fortransmitting and receiving data; each sensor of the plurality of sensorsbeing configured to provide, to the computing apparatus, a firstorientation when the sensors are aligned, and a second orientation whenthe sensors are placed on the person, the first and second orientationscomprising first and second headings, respectively; and the computingapparatus being programmed to: digitally determine whether the pluralityof sensors is placed on the person according to a predetermined sensorarrangement based on both the first and second headings of each sensorof the plurality of sensors; and adjust an operation of the system basedon the determination.

The system is capable of both tracking the motion of the person andadjusting the operation thereof without the need for measurements ofmagnetometers, which in many occasions are not accurate enough formotion tracking purposes due to magnetic disturbances.

The computing apparatus, by means of the at least one processor and theat least one memory, processes the first and second headings of theplurality of sensors in order to determine whether the sensors areplaced on the person according to the predetermined sensor arrangement,which is stored in the computing apparatus. As aforementioned, differentpredetermined sensor arrangements are possible since they relate to themotions to be tracked.

When the sensors are aligned, the first headings thereof reveal thedeviations between the measurements of the sensors. Afterwards, when thesensors are placed on the person, by means of the second headings thecomputing apparatus determines if the sensors are placed according tothe predetermined sensor arrangement; in order to perform suchdetermination, the computing apparatus takes into account the deviationsbetween the measurements of the sensors derived from the first headings.The computing apparatus bases the determination on comparisons betweenheading differences derivable from the second headings and expectedheading differences (defined by or derivable from the predeterminedsensor arrangement). The results of these comparisons are, preferably,compared with a predetermined difference threshold, e.g. 2.5°, 5.0°,9.0°, 15.0°, etc. or a pair of predetermined difference thresholds (e.g.−5.0° and 10.0°, 10.0° and −15.0°, etc.), which may be adjusted in thecomputing apparatus.

In some embodiments, the computing apparatus is programmed to digitallydetermine whether the plurality of sensors is placed on the personaccording to the predetermined sensor arrangement by: digitallycomputing a first transformation for each sensor of the plurality ofsensors that aligns the first heading thereof with a first predeterminedheading; and digitally processing a third heading of each sensor of theplurality of sensors in order to compute heading differences from allpairs of third headings and determine whether the plurality of sensorsis placed on the person according to the predetermined sensorarrangement, each third heading being the second heading of thecorresponding sensor with the corresponding first transformation appliedthereto.

In some of these embodiments, the computing apparatus is programmed toadjust the operation of the system by: digitally computing a secondtransformation for each sensor of the plurality of sensors that alignsthe third heading thereof with a second predetermined heading for thecorresponding sensor according to the predetermined sensor arrangement,and digitally applying the second transformations or both the first andsecond transformations computed to each orientation provided by eachsensor of the plurality of sensors to the computing apparatus, or to analgorithm of the computing apparatus for processing the motion of theperson tracked with the motion tracking system; and/or providing atleast one user perceptible signal indicative of the computing apparatushaving determined that at least one sensor of the plurality of sensorsis not placed on the person according to the predetermined sensorarrangement, the system comprising at least one means for providing theat least one user perceptible signal.

The at least one means comprise, for instance but without limitation,one or more of: a screen, loudspeakers, LEDs, etc.

In some embodiments, the computing apparatus is programmed to digitallydetermine whether the plurality of sensors is placed on the personaccording to the predetermined sensor arrangement by digitallyprocessing the second heading of each sensor of the plurality of sensorsin order to compute heading differences from all pairs of secondheadings and determine whether the plurality of sensors is placed on theperson according to the predetermined sensor arrangement. In theseembodiments, the first heading of each sensor is processed such that itadjusts the corresponding heading differences computed or headingdifferences according to the predetermined sensor arrangement.

In some of these embodiments, the computing apparatus is programmed toadjust the operation of the system by: digitally computing a firsttransformation for each sensor of the plurality of sensors that alignsthe second heading thereof with a first predetermined heading for thecorresponding sensor according to both the predetermined sensorarrangement and the first heading, and digitally applying the firsttransformations computed to each orientation provided by each sensor ofthe plurality of sensors to the computing apparatus, or to an algorithmof the computing apparatus for processing the motion of the persontracked with the motion tracking system; and/or providing at least oneuser perceptible signal indicative of the computing apparatus havingdetermined that at least one sensor of the plurality of sensors is notplaced on the person according to the predetermined sensor arrangement,the system comprising at least one means for providing the at least oneuser perceptible signal (e.g. one or more of: a screen, loudspeakers,LEDs, etc.).

In some embodiments, each sensor of the plurality of sensors furthercomprises a magnetometer; and the computing apparatus is furtherprogrammed to command each sensor of the plurality of sensors toconfigure a sensor fusion algorithm thereof such that the sensor fusionalgorithm: does not process the measurements of the magnetometer; orreduces a weight of the measurements of the magnetometer; and thecomputing apparatus is further programmed to command each sensor of theplurality of sensors to provide the second orientation or both the firstand second orientations after configuring the sensor fusion algorithmthereof.

The computing apparatus reconfigures the sensors such that the sensorfusion algorithms thereof do not take into account the measurements ofthe magnetometers, or that the relevance of such measurements in theorientations provided is reduced. This reconfiguration takes placeeither: before the sensors are placed on the person, particularly whenthe sensors are still aligned, so that the second orientations do notdepend upon or depend less on the measurements of the magnetometers; oreven before the sensors provide the first orientations so that neitherthe first orientations nor the second orientations depend upon or dependless on the measurements of the magnetometers.

In some embodiments, the computing apparatus is further programmed to:digitally compute heading differences from all pairs of first headings;and digitally process the computed heading differences of the firstheadings in order to determine if one or more sensors of the pluralityof sensors are aligned such that they have a 180° heading rotation withrespect to the corresponding other sensor of the plurality of sensors.In these embodiments, the computing apparatus is programmed to bothdigitally determine whether the plurality of sensors is placed on theperson according to the predetermined sensor arrangement and adjust theoperation of the system if each computed heading difference of the firstheadings fulfills the following: a modulus of the heading difference isless than or equal to a predetermined validation threshold; or a modulusof 180° minus the heading difference is less than or equal to thepredetermined validation threshold.

In some embodiments, the computing apparatus is further programmed toadjust the operation of the motion tracking system if at least onecomputed heading difference of the first headings does not fulfill thefollowing: a modulus of the heading difference is less than or equal toa predetermined validation threshold; or a modulus of 180° minus theheading difference is less than or equal to the predetermined validationthreshold. In these embodiments, the operation of the motion trackingsystem is adjusted such that it provides at least one user perceptiblesignal indicative of the computing apparatus having determined that atleast one computed heading difference of the first headings does notfulfill the criteria.

In some embodiments, the system further comprises a device comprising atleast one cavity adapted for introduction of one or more sensors of theplurality of sensors.

In some embodiments, each sensor of the plurality of sensors furthercomprises attaching means (e.g. a mechanical clip, Velcro, etc.).

Similar advantages as those described with respect to the first aspectof the invention are also applicable to second aspect of the invention.

A third aspect of the invention relates to a computer program productthat has instructions which, when executed by a computing device, causethe computing device to perform the steps of: receiving firstorientations from a plurality of sensors of a motion tracking systemwhen they are aligned, each first orientation comprising a firstheading; receiving second orientations from the plurality of sensorswhen they are placed on a person, each second orientation comprising asecond heading; digitally determining whether the plurality of sensorsis placed on the person according to a predetermined sensor arrangementbased on both the first and second headings of each sensor of theplurality of sensors; and adjusting operation of the motion trackingsystem based on the determination.

In some embodiments, digitally determining whether the plurality ofsensors is placed on the person according to the predetermined sensorarrangement comprises: digitally computing a first transformation foreach sensor of the plurality of sensors that aligns the first headingthereof with a first predetermined heading; and digitally processing athird heading of each sensor of the plurality of sensors in order tocompute heading differences from all pairs of third headings anddetermine whether the plurality of sensors is placed on the personaccording to the predetermined sensor arrangement, each third headingbeing the second heading of the corresponding sensor with thecorresponding first transformation applied thereto.

In some of these embodiments, adjusting the operation of the motiontracking system comprises: digitally computing a second transformationfor each sensor of the plurality of sensors that aligns the thirdheading thereof with a second predetermined heading for thecorresponding sensor according to the predetermined sensor arrangement,and digitally applying the second transformations or both the first andsecond transformations computed to each orientation received from eachsensor of the plurality of sensors while motion of the person is trackedwith the motion tracking system, or to an algorithm of the computingdevice for processing the motion of the person tracked with the motiontracking system; and/or providing at least one user perceptible signalindicative of having determined that at least one sensor of theplurality of sensors is not placed on the person according to thepredetermined sensor arrangement.

In some embodiments, digitally determining whether the plurality ofsensors is placed on the person according to the predetermined sensorarrangement comprises digitally processing the second heading of eachsensor of the plurality of sensors in order to compute headingdifferences from all pairs of second headings and determine whether theplurality of sensors is placed on the person according to thepredetermined sensor arrangement. In these embodiments, the firstheading of each sensor is processed such that it adjusts thecorresponding heading differences computed or heading differencesaccording to the predetermined sensor arrangement.

In some of these embodiments, adjusting the operation of the motiontracking system comprises: digitally computing a first transformationfor each sensor of the plurality of sensors that aligns the secondheading thereof with a first predetermined heading for the correspondingsensor according to both the predetermined sensor arrangement and thefirst heading, and digitally applying the first transformations computedto each orientation received from each sensor of the plurality ofsensors while motion of the person is tracked with the motion trackingsystem, or to an algorithm of the computing device for processing themotion of the person tracked with the motion tracking system; and/orproviding at least one user perceptible signal indicative of havingdetermined that at least one sensor of the plurality of sensors is notplaced on the person according to the predetermined sensor arrangement.

In some embodiments, each sensor of the plurality of sensors comprises agyroscope and an accelerometer.

In some of these embodiments, each sensor of the plurality of sensorsfurther comprises a magnetometer. In these embodiments, the instructionsfurther cause the computing device to command each sensor of theplurality of sensors to configure a sensor fusion algorithm thereof suchthat the sensor fusion algorithm: does not process measurements of themagnetometer; or reduces a weight of the measurements of themagnetometer.

In some of these embodiments, the instructions further cause thecomputing device to command each sensor of the plurality of sensors toprovide the second orientation or both the first and second orientationsafter configuring the sensor fusion algorithm thereof.

In some embodiments, the instructions further cause the computing deviceto: digitally compute heading differences from all pairs of firstheadings; and digitally process the computed heading differences of thefirst headings in order to determine if one or more sensors of theplurality of sensors are aligned such that they have a 180° headingrotation with respect to the other sensor of the plurality of sensors.In these embodiments, the instructions cause the computing device toboth digitally determine whether the plurality of sensors is placed onthe person according to the predetermined sensor arrangement and adjustthe operation of the motion tracking system if each computed headingdifference of the first headings fulfills the following: a modulus ofthe heading difference is less than or equal to a predeterminedvalidation threshold; or a modulus of 180° minus the heading differenceis less than or equal to the predetermined validation threshold

In some embodiments, the instructions cause the computing device toadjust the operation of the motion tracking system if at least onecomputed heading difference of the first headings does not fulfill thefollowing: a modulus of the heading difference is less than or equal toa predetermined validation threshold; or a modulus of 180° minus theheading difference is less than or equal to the predetermined validationthreshold; the operation of the motion tracking system being adjustedsuch that it provides at least one user perceptible signal indicative ofhaving determined that at least one computed heading difference of thefirst headings does not fulfill any one of the above criteria.

A fourth aspect of the invention relates to a data stream which isrepresentative of a computer program product according to the thirdaspect of the invention.

A fifth aspect of the invention relates to a computer-readable storagemedium having stored therein a computer program product according to thethird aspect of the invention.

Similar advantages as those described with respect to the first aspectof the invention are also applicable to the third, fourth and fifthaspects of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

To complete the description and in order to provide for a betterunderstanding of the invention, a set of drawings is provided. Saiddrawings form an integral part of the description and illustrateembodiments of the invention, which should not be interpreted asrestricting the scope of the invention, but just as examples of how theinvention can be carried out. The drawings comprise the followingfigures:

FIG. 1 diagrammatically shows a motion tracking system in accordancewith an embodiment.

FIGS. 2A-2B show a holding device of a motion tracking system inaccordance with an embodiment.

FIGS. 3-4 diagrammatically show methods in accordance with embodiments.

FIGS. 5A-5C diagrammatically show headings of sensors in accordance withorientations provided by the sensors.

FIGS. 6A-6B diagrammatically show the headings of FIGS. 5A-5C afterapplying transformations that align them.

FIGS. 7A-7C and 8A-8B diagrammatically show a person having sensorsplaced thereon and the heading differences resulting therefrom.

DESCRIPTION OF WAYS OF CARRYING OUT THE INVENTION

FIG. 1 diagrammatically shows a motion tracking system 10 in accordancewith an embodiment. The motion tracking system 10 includes a pluralityof sensors 21-24 and a computing apparatus 40.

The sensors 21-24 are MARG sensors that include a gyroscope 31, anaccelerometer 32, and a magnetometer 33; in some other non-illustratedembodiments, the sensors do not include a magnetometer 33. The sensors21-24 also include at least one processor 36 and at least one memory 37for running a sensor fusion algorithm. In some embodiments such as theone of FIG. 1, the sensors 21-24 further include a first communicationsmodule 38 for transmitting and receiving data that enables the sensors21-24 to transmit (through a wired or wireless communications technologyand protocol known by a skilled person, for instance but withoutlimitation, Bluetooth communications, cellular network communicationssuch as GSM, UMTS or LTE, wireless LAN communications, etc.)measurements of each of the sensing devices 31-33 and/or measurements asprovided by the sensor fusion algorithm to the computing apparatus 40.The same first communications modules 38 enable the sensors 21-24 toreceive data from the computing apparatus 40. In less preferredembodiments, the sensors 21-24 are not provided with the firstcommunications module 38; in these embodiments, data can be extractedfrom the sensors 21-24 and/or provided to the sensors 21-24 by means ofa computer readable storage medium.

The computing apparatus 40 includes at least one processor 42 and atleast one memory 44. Preferably, the computing apparatus 40 furtherincludes a second communications module 46 for transmitting andreceiving data. When the computing apparatus 40 is not provided with thesecond communications module 46, data can be extracted therefrom and/orintroduced therein by means of a computer readable storage medium.

FIGS. 2A-2B show a holding device 50 of a motion tracking system inaccordance with an embodiment.

The holding device 50 (also referred to as first device within thecontext of the present disclosure), which may be part of a motiontracking system such as the motion tracking system 10 of FIG. 1,comprises a plurality of cavities 51-54 adapted to receive the sensors21-24 as illustrated in FIG. 3B.

In this example, the cavities 51-54 are dimensioned such that thesensors 21-24 may be introduced with a particular orientation thereof.The sensors 21-24 may fit tightly or with some play. The holding device50 may be used for one or more of the following purposes: for storingthe sensors 21-24 while the same are not in use, for determining whetherthe sensors 21-24 require to be calibrated, and/or even for calibratingthe sensors 21-24 in a simple and effective manner, in which case theholding device 50 is rotated for calibrating the sensors 21-24 whilethey are introduced therein (depending on the type of rotation necessaryfor calibrating the sensors, it may be necessary to cover the sensors21-24 with the hand during the calibration procedure so that they do notfall off from the holding device 50).

In some other examples, the holding device 50 comprises a single cavityor more than one cavity in which two or more sensors may be introducedside-by-side such that the two or more sensors have fixed relativeorientations (so that each sensor does not change its orientation withrespect to the other sensors). To this end, the cavity or cavities mayinclude one or more spacing elements that provide a gap between eachpair of sensors.

While the sensors 21-24 are introduced in the holding device 50 they arealigned and, thus, they may provide the first orientations to thecomputing apparatus as described with reference to the methods 100, 101of FIGS. 3 and 4.

FIG. 3 diagrammatically shows a method 100 for adjusting operation of amotion tracking system, such as the motion tracking system 10 of FIG. 1.

The method 100 comprises a step of aligning 110 a plurality of sensors(e.g. the sensors 21-24 of the motion tracking system 10). The sensorsmay be aligned in a number of ways as will be apparent from the presentdisclosure to the person skilled in the art. The sensors shall bearranged in accordance with a known set of orientations of the sensors(for example a predetermined set of orientations), thereby makingpossible to determine the deviations between the actual heading of thesensors and the heading measured by the same; accordingly, the sensorsneed not to be facing the same direction even though this is preferablefor simplicity and ease of use reasons.

The method 100 further comprises a step of providing 113, each sensor ofthe motion tracking system, a first orientation when the sensors arealigned in accordance with step 110. The first orientations, whichcomprise first headings of the sensors, are provided to a computingapparatus (e.g. the computing apparatus 40 of the motion tracking system10).

The method 100 further comprises a step of placing 114 the sensors ofthe motion tracking system on a person so that motion thereof may betracked.

The method 100 further comprises a step of providing 115, each sensor ofthe motion tracking system, a second orientation when the sensors areplaced on the person. The second orientations, which comprise secondheadings of the sensors, are provided to the computing apparatus.

Preferably, the time elapsed between the step of providing 113 the firstorientations and the step of providing 115 the second orientations is asshort as possible, preferably less than 5 minutes, and more preferablyless than 3 minutes and/or 1 minute, therefore preferably the sensorsare placed 114 on the body in this time interval. By reducing the timeit takes to carry out this process, the lower the error that affects themeasurements of the sensors.

The method 100 further comprises a step of digitally determining 116,the computing apparatus of the motion tracking system, whether thesensors are placed on the person according to a predetermined sensorarrangement. In order to carry out such determination, the computingapparatus processes both the first and second headings of each sensorsuch that it computes the difference between the measured headings andthe headings that are expected when the sensors are correctly placed onthe person, in accordance with the predetermined sensor arrangement. Inthis regard, the first headings are indicative of the differences inheading of each sensor with respect to the other sensors, whereas thesecond headings are used for determining differences between theheadings of each pair of sensors and the expected heading differences.

The method 100 further comprises a step of adjusting 120, the computingapparatus of the motion tracking system, the operation of the motiontracking system based on the determination made in step 116.

FIG. 4 diagrammatically shows a method 101 for adjusting operation of amotion tracking system, such as the motion tracking system 10 of FIG. 1.

The method 101 comprises the step of aligning 110 the plurality ofsensors by means of: a step of providing 111 a first device (e.g. theholding device 50 of FIGS. 2A-2B) with at least one cavity adapted forintroduction of one or more sensors (e.g. the sensors 21-24 of themotion tracking system 10); and a step of introducing 112 each sensor ofthe motion tracking system into the first device. When the sensors arein the first device, they have fixed relative orientations with respectto the other sensors owing to the at least one cavity. Since the fixedrelative orientations are known, the sensors are aligned.

The method 101 further comprises the step of providing 113, each sensorof the motion tracking system, the first orientation when the sensorsare aligned. In this case, the first orientations are provided while thesensors are introduced in the first device since that is when they arealigned.

The method 101 further comprises a step of digitally computing 140, thecomputing apparatus of the motion tracking system, a heading differencebetween each pair of first headings of the first orientations. To thisend, the computing apparatus retrieves, for instance, an angle or avector per pair of first headings, said angle or vector being indicativeof the difference between the corresponding first headings. As the firstorientations are provided while the sensors are aligned, these headingdifferences are indicative of the relative differences between themeasurements of the sensors.

The computing apparatus digitally processes the computed headingdifferences of the first headings in order to determine if one or moresensors of the motion tracking system are aligned such that they have a180° heading rotation with respect to the corresponding other sensor ofthe motion tracking system. The computing apparatus of the motiontracking system then carries out both the steps of digitally determining116 whether the sensors of the motion tracking system are placed on theperson according to the predetermined sensor arrangement and adjusting120 the operation of the motion tracking system if each computed headingdifference of the first headings fulfills the following: a modulus ofthe heading difference is less than or equal to a predeterminedvalidation threshold; or a modulus of 180° minus the heading differenceis less than or equal to the predetermined validation threshold.

In some embodiments, if at least one computed heading difference doesnot fulfill any one of said two criteria, the computing apparatusadjusts the operation of the motion tracking system such that itprovides at least one user perceptible signal indicative of thecomputing apparatus having determined that at least one computed headingdifference does not fulfill any one of the above criteria.

The method 101 further comprises a step of not processing 130measurements of magnetometers in a sensor fusion algorithm of eachsensor of the motion tracking system, or a step of reducing 131 a weightof the measurements of the magnetometers in the sensor fusion algorithmof each sensor of the motion tracking system. In particular, thecomputing apparatus commands the sensors to either not process 130 themeasurements or reduce 131 the weight thereof in the sensor fusionalgorithm so that the orientations provided when the sensors are on theperson are not affected (or are less affected) by erroneous measurementsof magnetometers; the computing apparatus commands the sensors tooperate in this way while they are still aligned, for instance whilebeing on a surface or introduced in the first device, thereby making thedrift of the gyroscope the only or the main source of error in theorientations provided afterwards, which is mostly negligible thanks tothe reduced drift error.

In some cases, the computing apparatus commands the sensors to functionin that way even before the first orientations are provided 113, so thatthe same are not affected (or are less affected) by erroneousmeasurements of magnetometers.

The method 100 further comprises the step of placing 114 the sensors ofthe motion tracking system on a person.

The method 100 further comprises the step of providing 115 the secondorientations when the sensors are placed on the person. Asaforementioned, the computing apparatus may command the sensors toprovide the second orientations after commanding them not to process 130the measurements of the magnetometers or reduce 131 the weight thereofin the sensor fusion algorithm. In this way, the second orientations areprovided without being influenced (or less influenced) by themeasurements of the magnetometers.

The method 100 further comprises the step of digitally determining 116whether the sensors are placed on the person according to thepredetermined sensor arrangement.

The digital determination 116 is carried out by means of a first stepwhereby the computing apparatus of the motion tracking system digitallycomputes 117 a first transformation for each sensor of the motiontracking system that aligns the first heading thereof with a firstpredetermined heading, and a second step whereby the computing apparatusdigitally processes 118 a third heading of each sensor of the motiontracking system in order to compute heading differences from all pairsof the third headings and determine whether the sensors are placed onthe person according to the predetermined sensor arrangement, each thirdheading being the second heading of the corresponding sensor with thecorresponding first transformation applied thereto.

Alternatively, the digital determination 116 is carried out by means ofa step whereby the computing apparatus of the motion tracking systemdigitally processes 119 the second heading of each sensor of the motiontracking system in order to compute heading differences from all pairsof second headings and determine whether the sensors are placed on theperson according to the predetermined sensor arrangement, the firstheading of each sensor being processed such that it adjusts thecorresponding heading differences computed or heading differencesaccording to the predetermined sensor arrangement.

The method 100 further comprises the step of adjusting 120 the operationof the motion tracking system based on the determination made in step116.

The adjustment 120 may be carried out by means of a step of digitallycomputing 121, the computing apparatus of the motion tracking system, asecond transformation for each sensor of the motion tracking system thataligns the third heading thereof with a second predetermined heading forthe corresponding sensor according to the predetermined sensorarrangement, and digitally applying, the computing apparatus, the secondtransformations or both the first and second transformations computed toeach orientation provided by each sensor to the computing apparatuswhile motion of the person is tracked with the motion tracking system,or to an algorithm of the computing apparatus for processing the motionof the person tracked with the motion tracking system. These secondtransformations are computed and applied if steps 117 and 118 arecarried out.

Additionally or alternatively, the adjustment 120 may be carried out bymeans of a step of providing 122 at least one user perceptible signalindicative of the computing apparatus having determined that at leastone sensor of the motion tracking system is not placed on the personaccording to the predetermined sensor arrangement.

Additionally or alternatively, the adjustment 120 may be carried out bymeans of a step of digitally computing 123 a first transformation foreach sensor that aligns the second heading thereof with a firstpredetermined heading for the corresponding sensor according to both thepredetermined sensor arrangement and the first heading, and digitallyapplying the first transformations computed to each orientation providedby each sensor to the computing apparatus while motion of the person istracked with the motion tracking system, or to an algorithm of thecomputing apparatus for processing the motion of the person tracked withthe motion tracking system. These first transformations are computed andapplied if step 119 is carried out.

FIGS. 5A-5C diagrammatically show headings 71-73 of sensors 21-23 inaccordance with orientations 61-63 provided by the sensors.

FIG. 5A shows, in a 3D view, the orientations and the headings, whereasFIG. 5B shows the same from a top view. FIG. 5C shows the headingdifferences between the headings 71-73 of the sensors 21-23. In allthese figures, the orientations and headings are shown with vectors forthe sake of clarity.

Each sensor 21-23 provides by means of the sensor fusion algorithmsthereof an orientation 61-63, respectively, in an Earth's referenceframe. The sensors 21-23 are aligned and are shown on top of a planarhorizontal surface 80. Whereas the orientations 61-63 have components inall three axes (x, y, z) represented, the headings 71-73 (which are theprojections of the orientations 61-63 on a horizontal planecorresponding, precisely, to the planar surface 80) have components intwo axes (x, y). Accordingly, in the top view of FIG. 5B, eachorientation 61-63 appears to overlap the corresponding heading 71-73.

With reference to FIG. 5C, the headings 71-73 are represented on theplane of the surface 80. In this example, three distinct headingdifferences may be computed: a first heading difference 81 between theheading 71 of a first sensor 21 and the heading 72 of a second sensor22, a second heading difference 82 between the heading 72 of the secondsensor 22 and a heading 73 of a third sensor 23, and a third headingdifference 83 between the heading 71 of the first sensor 21 and theheading 73 of the third sensor 23. These heading differences 81-83 arerepresented as angular differences and reveal the differences inheadings between the measurements of all the sensors 21-23 despite thesame are aligned. In the context of the present disclosure, the headings71-73 are also referred to as first headings.

In this case however, in addition to the errors in the measurements ofthe sensors 21-23, according to the headings 71-73, and in particular tothe measured heading differences 81-83, it appears that the secondsensor 22 (in the middle) is flipped 180° with respect to the other twosensors 21, 23. The first and second heading differences 81, 82 aregreater than 150° and smaller than 210°, values which result from therange 180°±30°, where 30° is an exemplary predetermined validationthreshold. Thus, in this example, the computing apparatus woulddetermine that the deviations 81-83 between the headings 71-73 areacceptable and, thus, the sensors 21-23 may be placed on the body of aperson for motion tracking thereof, and adjust the operation of thecorresponding motion tracking system afterwards. The computing apparatusregisters the headings 71-73 (i.e. first headings) so that it maycompensate for the heading differences 81-83 between the sensors 21-23.

FIGS. 6A-6B diagrammatically show the headings 71-73 of FIGS. 5A-5Cafter applying transformations that aligns them.

The computing apparatus digitally computes transformations that aligneach of the registered headings 71-73 with a first predeterminedheading. Accordingly, upon applying the transformations, adjustedheadings 74-76 are provided. In this particular example, the heading 75of the second sensor 22 is aligned such that it forms a 180° headingdifference 84 with respect to the adjusted headings 74, 76 of the firstand third sensors 21, 23, even though in other examples all the headings74-76 may be adjusted such that no heading difference exists between anypair of the headings 74-76, such as between the headings 74 and 76 ofthis example.

With the applied transformations the headings are virtually aligned,thus upon placing the sensors on the body, such as described withreference to FIGS. 7A-7C and 8A-8B, the computing apparatus maydetermine whether the sensors are placed according to a predeterminedsensor arrangement.

FIGS. 7A-7C diagrammatically show a person 90 having sensors 21, 22placed thereon and the heading difference 85 resulting therefrom.Illustrated in FIGS. 7A and 7B are the reference axes of the sensors 21,22 for the sake of clarity. FIG. 7A shows the person 90 from afront-facing view, whereas FIG. 7B shows the person 90 from an elevatedview.

The person 90 is standing still, for instance according to apredetermined posture. A first sensor 21 is placed on the upper arm,particularly on a side thereof, whereas a second sensor 22 is placed onthe chest of the person 90. This placement of sensors 21, 22 correspondsto a particular predetermined sensor arrangement in which it is definedthat the heading difference between the first and second sensors is 90°.As seen in FIG. 7C, the heading 77 of the first sensor 21 and theheading 78 of the second sensor 22, which are represented on a plane 80corresponding to a horizontal, are such that the heading difference 85thereof is of 90°. Therefore, a computing apparatus determines that thefirst and second sensors 21, 22 are placed on the person 90 according tothe predetermined sensor arrangement.

FIGS. 8A-8B diagrammatically show the person 90 having sensors 21, 22placed thereon and the heading difference 86 resulting therefrom.

In this case, the predetermined sensor arrangement is the same of FIGS.7A-7C, that is, the predetermined sensor arrangement defines or makesderivable that the heading difference between headings 79, 78 of thefirst and second sensors 21, 22 shall be of 90°. However, in thisexample the person has placed the sensors incorrectly. In particular,the first sensor 21 has been placed inwards and not completelyperpendicular to the second sensor 22, which is on the chest of theperson 90. The heading 79 of the first sensor 21 thus is different fromthe heading 77 as processed in the example of FIGS. 7A-7C. This, inturn, results in the heading difference 86 that is less than 90°.Depending upon the predetermined difference threshold or the pair ofpredetermined difference thresholds, this deviation from the expectedheading difference (i.e. 90°) may result in the determination that thesensors are not correctly placed on the person 90. By way of example, ifthe predetermined difference threshold is 5°, as the heading difference86 is not within the range 90°±5°, it is determined that the sensors arenot placed according to the predetermined sensor arrangement. As anotherexample, if there is a pair of predetermined difference thresholds thatis −10° and 5°, as the heading difference 86 is not within the range[90° minus 10°, 90° plus 5°], it is determined that the sensors are notplaced according to the predetermined sensor arrangement.

In this text, the term “comprises” and its derivations (such as“comprising”, etc.) should not be understood in an excluding sense, thatis, these terms should not be interpreted as excluding the possibilitythat what is described and defined may include further elements, steps,etc.

Even though the terms first, second, third, etc. have been used hereinto describe several devices, parameters or variables, it will beunderstood that the devices, parameters or variables should not belimited by these terms since the terms are only used to distinguish onedevice, parameter or variable from another. For example, the firstheading could as well be named second heading, and the second headingcould be named first heading without departing from the scope of thisdisclosure.

On the other hand, the invention is obviously not limited to thespecific embodiment(s) described herein, but also encompasses anyvariations that may be considered by any person skilled in the art (forexample, as regards the choice of materials, dimensions, components,configuration, etc.), within the general scope of the invention asdefined in the claims.

1. A method for adjusting operation of a motion tracking systemcomprising a computing apparatus and a plurality of sensors, each sensorcomprising a gyroscope and an accelerometer, the method including thefollowing steps: aligning the plurality of sensors; providing, eachsensor of the plurality of sensors to the computing apparatus, a firstorientation when the sensors are aligned, the first orientationcomprising a first heading; placing the plurality of sensors on aperson; providing, each sensor of the plurality of sensors to thecomputing apparatus, a second orientation when the sensors are placed onthe person, the second orientation comprising a second heading;digitally determining, the computing apparatus, whether the plurality ofsensors is placed on the person according to a predetermined sensorarrangement based on both the first and second headings of each sensorof the plurality of sensors; and adjusting, the computing apparatus, theoperation of the motion tracking system based on the determination. 2.The method of claim 1, wherein the step of digitally determining whetherthe plurality of sensors is placed on the person according to thepredetermined sensor arrangement comprises includes the following steps:digitally computing, the computing apparatus, a transformation for eachsensor of the plurality of sensors that aligns the first heading thereofwith a predetermined heading, and digitally processing, the computingapparatus, a third heading of each sensor of the plurality of sensors inorder to compute heading differences from all pairs of the thirdheadings and determine whether the plurality of sensors is placed on theperson according to the predetermined sensor arrangement, each of thethird headings being the second heading of the corresponding sensor withthe corresponding transformation applied thereto; or digitallyprocessing, the computing apparatus, the second heading of each sensorof the plurality of sensors in order to compute heading differences fromall pairs of the second headings and determine whether the plurality ofsensors is placed on the person according to the predetermined sensorarrangement, wherein the first heading of each sensor is processed suchthat the first heading adjusts the corresponding heading differencescomputed or heading differences according to the predetermined sensorarrangement.
 3. The method of claim 2, wherein the transformations arefirst transformations, the predetermined heading is a firstpredetermined heading, and the step of adjusting the operation of themotion tracking system comprises includes at least one of the followingsteps: digitally computing, the computing apparatus, a secondtransformation for each sensor of the plurality of sensors that alignsthe third heading thereof with a second predetermined heading for thecorresponding sensor according to the predetermined sensor arrangement,and digitally applying, the computing apparatus, the secondtransformations or both the first and second transformations computed toeach orientation provided by each sensor of the plurality of sensors tothe computing apparatus while motion of the person is tracked with themotion tracking system, or to an algorithm of the computing apparatusfor processing the motion of the person tracked with the motion trackingsystem; and providing at least one user perceptible signal indicative ofthe computing apparatus having determined that at least one sensor ofthe plurality of sensors is not placed on the person according to thepredetermined sensor arrangement.
 4. The method of claim 2, wherein thestep of adjusting the operation of the motion tracking system includesat least one of the following steps: digitally computing, the computingapparatus, a first transformation for each sensor of the plurality ofsensors that aligns the second heading thereof with the firstpredetermined heading for the corresponding sensor according to both thepredetermined sensor arrangement and the first heading, and digitallyapplying, the computing apparatus, the first transformations computed toeach orientation provided by each sensor of the plurality of sensors tothe computing apparatus while motion of the person is tracked with themotion tracking system, or to an algorithm of the computing apparatusfor processing the motion of the person tracked with the motion trackingsystem; and providing at least one user perceptible signal indicative ofthe computing apparatus having determined that at least one sensor ofthe plurality of sensors is not placed on the person according to thepredetermined sensor arrangement.
 5. The method of claim 1, wherein thesecond orientations are provided by the plurality of sensors while theperson has a predetermined posture.
 6. The method of claim 1, wherein:each sensor of the plurality of sensors further comprises amagnetometer; and the method further includes, prior to the step ofplacing the plurality of sensors on the person, the following step: notprocessing measurements of the magnetometers in a sensor fusionalgorithm of each sensor of the plurality of sensors; or reducing aweight of the measurements of the magnetometers in the sensor fusionalgorithm of each sensor of the plurality of sensors.
 7. The method ofclaim 1, further includes the following steps: digitally computing, thecomputing apparatus, heading differences from all pairs of firstheadings; and digitally processing, the computing apparatus, thecomputed heading differences of the first headings in order to determineif one or more sensors of the plurality of sensors are aligned such thatthey have a 180° heading rotation with respect to the correspondingother sensor of the plurality of sensors; and wherein the computingapparatus both digitally determines whether the plurality of sensors isplaced on the person according to the predetermined sensor arrangementand adjusts the operation of the motion tracking system if each computedheading difference of the first headings fulfills the following: amodulus of the heading difference is less than or equal to apredetermined threshold; or a modulus of 180° minus the headingdifference is less than or equal to the predetermined threshold.
 8. Themethod of claim 1, wherein the step of aligning the plurality of sensorsincludes the following steps: providing a first device comprising atleast one cavity adapted for introduction of one or more sensors of theplurality of sensors; and introducing each sensor of the plurality ofsensors into the first device.
 9. A system for tracking motion of aperson, the system comprising: a plurality of sensors, each sensorcomprising a gyroscope and an accelerometer; and a computing apparatuscomprising at least one processor, at least one memory and means fortransmitting and receiving data; each sensor of the plurality of sensorsbeing configured to provide, to the computing apparatus, a firstorientation when the sensors are aligned, and a second orientation whenthe sensors are placed on the person, the first and second orientationscomprising first and second headings, respectively; and the computingapparatus being programmed to: digitally determine whether the pluralityof sensors is placed on the person according to a predetermined sensorarrangement based on both the first and second headings of each sensorof the plurality of sensors; and adjust an operation of the system basedon the determination.
 10. The system of claim 9, wherein the computingapparatus is programmed to digitally determine whether the plurality ofsensors is placed on the person according to the predetermined sensorarrangement by: digitally computing a transformation for each sensor ofthe plurality of sensors that aligns the first heading thereof with apredetermined heading, and digitally processing a third heading of eachsensor of the plurality of sensors in order to determine whether theplurality of sensors is placed on the person according to thepredetermined sensor arrangement, each third heading being the secondheading of the corresponding sensor with the correspondingtransformation applied thereto; or digitally processing the secondheading of each sensor of the plurality of sensors in order to computeheading differences from all pairs of second headings and determinewhether the plurality of sensors is placed on the person according tothe predetermined sensor arrangement, wherein the first heading of eachsensor is processed such that it adjusts the corresponding headingdifferences computed or heading differences according to thepredetermined sensor arrangement.
 11. The system of claim 10, whereinthe transformations are first transformations, the predetermined headingis a first predetermined heading, and the computing apparatus isprogrammed to adjust the operation of the system by at least one of thefollowing steps: digitally computing a second transformation for eachsensor of the plurality of sensors that aligns the third heading thereofwith a second predetermined heading for the corresponding sensoraccording to the predetermined sensor arrangement, and digitallyapplying the first and second transformations computed to eachorientation provided by each sensor of the plurality of sensors to thecomputing apparatus; and providing at least one user perceptible signalindicative of the computing apparatus having determined that at leastone sensor of the plurality of sensors is not placed on the personaccording to the predetermined sensor arrangement, the system comprisingat least one means for providing the at least one user perceptiblesignal.
 12. The system of claim 10, wherein the computing apparatus isprogrammed to adjust the operation of the system by at least one of thefollowing steps: digitally computing a first transformation for eachsensor of the plurality of sensors that aligns the second headingthereof with a first predetermined heading for the corresponding sensoraccording to both the predetermined sensor arrangement and the firstheading, and digitally applying the first transformations computed toeach orientation provided by each sensor of the plurality of sensors tothe computing apparatus; and providing at least one user perceptiblesignal indicative of the computing apparatus having determined that atleast one sensor of the plurality of sensors is not placed on the personaccording to the predetermined sensor arrangement, the system comprisingat least one means for providing the at least one user perceptiblesignal.
 13. The system of claim 9, wherein: each sensor of the pluralityof sensors further comprises a magnetometer; the computing apparatus isfurther programmed to command each sensor of the plurality of sensors toconfigure a sensor fusion algorithm thereof such that the sensor fusionalgorithm: does not process measurements of the magnetometer; or reducesa weight of the measurements of the magnetometer; and the computingapparatus is further programmed to command each sensor of the pluralityof sensors to provide the second orientation or both the first andsecond orientations after configuring the sensor fusion algorithmthereof.
 14. The system of claim 9, further comprising a device, thedevice comprising at least one cavity adapted for introduction of one ormore sensors of the plurality of sensors.
 15. A computer-readablestorage medium having stored therein a computer program that hasinstructions which, when executed by a computing device, cause thecomputing device to perform the following steps: receiving firstorientations from a plurality of sensors of a motion tracking systemwhen they are aligned, each first orientation comprising a firstheading; receiving second orientations from the plurality of sensorswhen they are placed on a person, each second orientation comprising asecond heading; digitally determining whether the plurality of sensorsis placed on the person according to a predetermined sensor arrangementbased on both the first and second headings of each sensor of theplurality of sensors; and adjusting operation of the motion trackingsystem based on the determination.
 16. The computer-readable storagemedium of claim 15, wherein digitally determining whether the pluralityof sensors is placed on the person according to the predetermined sensorarrangement comprises: digitally computing a first transformation foreach sensor of the plurality of sensors that aligns the first headingthereof with a first predetermined heading, and digitally processing athird heading of each sensor of the plurality of sensors in order tocompute heading differences from all pairs of third headings anddetermine whether the plurality of sensors is placed on the personaccording to the predetermined sensor arrangement, each third headingbeing the second heading of the corresponding sensor with thecorresponding first transformation applied thereto; or digitallyprocessing the second heading of each sensor of the plurality of sensorsin order to compute heading differences from all pairs of secondheadings and determine whether the plurality of sensors is placed on theperson according to the predetermined sensor arrangement, wherein thefirst heading of each sensor is processed such that it adjusts thecorresponding heading differences computed or heading differencesaccording to the predetermined sensor arrangement.
 17. (canceled) 18.(canceled)
 19. The computer-readable storage medium of claim 16, whereinadjusting the operation of the motion tracking system comprises at leastone of: digitally computing a second transformation for each sensor ofthe plurality of sensors that aligns the third heading thereof with asecond predetermined heading for the corresponding sensor according tothe predetermined sensor arrangement, and digitally applying the secondtransformations or both the first and second transformations computed toeach orientation received from each sensor of the plurality of sensorswhile motion of the person is tracked with the motion tracking system,or to an algorithm for processing the motion of the person tracked withthe motion tracking system; and providing at least one user perceptiblesignal indicative of having determined that at least one sensor of theplurality of sensors is not placed on the person according to thepredetermined sensor arrangement.
 20. The computer-readable storagemedium of claim 15, wherein adjusting the operation of the motiontracking system comprises at least one of: digitally computing a firsttransformation for each sensor of the plurality of sensors that alignsthe second heading thereof with the first predetermined heading for thecorresponding sensor according to both the predetermined sensorarrangement and the first heading, and digitally applying, the computingapparatus, the first transformations computed to each orientationreceived from each sensor of the plurality of sensors while motion ofthe person is tracked with the motion tracking system, or to analgorithm of the computing apparatus for processing the motion of theperson tracked with the motion tracking system; and providing at leastone user perceptible signal indicative of having determined that atleast one sensor of the plurality of sensors is not placed on the personaccording to the predetermined sensor arrangement.
 21. Thecomputer-readable storage medium of claim 15, wherein the instructionsfurther cause the computing device to perform the step of commandingeach sensor of the plurality of sensors to configure a sensor fusionalgorithm thereof such that the sensor fusion algorithm: does notprocess measurements of a magnetometer of the respective sensor; orreduces a weight of the measurements of the magnetometer of therespective sensor.
 22. The computer-readable storage medium of claim 15,wherein the instructions further cause the computing device to performthe following steps: digitally computing heading differences from allpairs of first headings; and digitally processing the computed headingdifferences of the first headings in order to determine if one or moresensors of the plurality of sensors are aligned such that they have a180° heading rotation with respect to the corresponding other sensor ofthe plurality of sensors; and wherein the computing device bothdigitally determines whether the plurality of sensors is placed on theperson according to the predetermined sensor arrangement and adjusts theoperation of the motion tracking system if each computed headingdifference of the first headings fulfills the following: a modulus ofthe heading difference is less than or equal to a predeterminedthreshold; or a modulus of 180° minus the heading difference is lessthan or equal to the predetermined threshold.